package com.beifu.manager.dao;

import com.beifu.manager.api.domain.warehouse.OutTrainUnit;
import com.beifu.manager.model.AssetOutTruth;
import com.beifu.manager.model.AssetOutTruthExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface AssetOutTruthMapper {
    int countByExample(AssetOutTruthExample example);

    int deleteByExample(AssetOutTruthExample example);

    int deleteByPrimaryKey(Long id);

    int insert(AssetOutTruth record);

    int insertSelective(AssetOutTruth record);

    List<AssetOutTruth> selectByExample(AssetOutTruthExample example);

    AssetOutTruth selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") AssetOutTruth record, @Param("example") AssetOutTruthExample example);

    int updateByExample(@Param("record") AssetOutTruth record, @Param("example") AssetOutTruthExample example);

    int updateByPrimaryKeySelective(AssetOutTruth record);

    int updateByPrimaryKey(AssetOutTruth record);

    List<AssetOutTruth> getAssetOutTruthPages(@Param("start") int start, @Param("pageNum") int pageNum,  @Param("example")AssetOutTruthExample example);

    List<OutTrainUnit> selectTrainAndNmuByAssetOutId(@Param("assetsOutIdLong") Long assetsOutIdLong);

    void insertBatch(List<AssetOutTruth> rfidWithCarriageList);

    /**
     * 根据出库单ID统计出库资产数量
     * @return
     */
    int countNumByAssetOutId(String id);

    List<OutTrainUnit> selectWashAndNmuByAssetOutId(Long assetsOutIdLong);

}